標題:Python zip() 函數教學
Python 中的 zip() 函數是一個有用的內置函數,用於將多個可迭代物件合併在一起,並傳回一個元組的迭代器。 它通常用於將兩個或多個列表或其他可迭代對象逐對匹配,以便進行迭代操作或創建字典等。 以下是 zip() 函數的一些重點特徵和使用方式:
語法:
zip(iterable1, iterable2, ...)
zip() 函數接受一個或多個可迭代對象(如列表、元組、字符串等),並傳回一個 zip 對象,其中每個元素都是來自輸入可迭代對象的一個元組。
範例:
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
result = zip(list1, list2)
for item in result:
print(item)
輸出結果=
(1, 'a')
(2, 'b')
(3, 'c')
zip() 函數長度不一致:
如果輸入的可迭代物件的長度不一致,zip() 函數將停止在最短的可迭代物件處,多餘的元素將被忽略。
解壓 zip 對象:
您可以使用 zip() 函數的 * 運算子來解壓 zip 對象,將其元組轉換為多個獨立的可迭代對象。
zipped = zip(list1, list2)
unzipped = zip(*zipped)
zipped = zip(list1, list2)
unzipped = zip(*zipped)
創建字典:
zip() 函數常用於建立字典,其中一個可迭代物件包含鍵,另一個包含相應的值。
keys = ['name', 'age', 'city']
values = ['Alice', 30, 'New York']
person_dict = dict(zip(keys, values))
zip() 的應用:
同時迭代多個可迭代對象。
轉換資料結構,如將清單轉換為字典。
合併數據,用於數據分析和處理。
將多個列表合併成元組的列表,進行批次操作。
zip() 與 *args 使用:
您可以使用 zip() 函數與 *args 來處理不定數量的可迭代對象,這在函數參數的處理中很有用。
zip() 函數在處理多個可迭代物件時非常實用,並且在各種情境下都能派上用場。
參考資料:https://www.runoob.com/python/python-func-zip.html